using System.Data;
using JetBrains.Annotations;
using Microsoft.EntityFrameworkCore.Storage;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

namespace Microsoft.EntityFrameworkCore.Dm.Storage.Internal;

public class DmDateTimeOffsetTypeMapping : DateTimeOffsetTypeMapping
{
	private const string DateTimeOffsetFormatConst = "{0:yyyy-MM-dd HH:mm:ss.fffzzz}";

	protected override string SqlLiteralFormatString => "'{0:yyyy-MM-dd HH:mm:ss.fffzzz}'";

	public DmDateTimeOffsetTypeMapping([NotNull] string storeType, DbType? dbType =System.Data.DbType.DateTimeOffset)
		: base(storeType, dbType)
	{
	}

	protected DmDateTimeOffsetTypeMapping(RelationalTypeMappingParameters parameters)
		: base(parameters)
	{
	}//IL_0001: Unknown result type (might be due to invalid IL or missing references)


	public override RelationalTypeMapping Clone(string storeType, int? size)
	{
		return new DmDateTimeOffsetTypeMapping(this.Parameters.WithStoreTypeAndSize(storeType, size, null));
	}

	// Token: 0x060001A7 RID: 423 RVA: 0x00008FDC File Offset: 0x000071DC
	public override CoreTypeMapping Clone(ValueConverter converter)
	{
		return new DmDateTimeOffsetTypeMapping(this.Parameters.WithComposedConverter(converter));
	}
}
